#ifndef __POWER_MGMT_H
#define __POWER_MGMT_H

#include "system.h"

// 电源状态定义
typedef enum {
    POWER_STATE_NORMAL = 0,
    POWER_STATE_SAVING,
    POWER_STATE_LOW_BATTERY,
    POWER_STATE_CHARGING,
    POWER_STATE_FULL
} PowerState;

// 电源管理初始化
SystemStatus POWER_Init(void);

// 进入低功耗模式
SystemStatus POWER_EnterLowPowerMode(void);

// 退出低功耗模式
SystemStatus POWER_ExitLowPowerMode(void);

// 获取电池电量百分比
uint8_t POWER_GetBatteryLevel(void);

// 获取电源状态
PowerState POWER_GetState(void);

// 设置系统工作模式
SystemStatus POWER_SetMode(SystemMode mode);

// 注册低电量回调函数
void POWER_RegisterLowBatteryCallback(void (*callback)(void));

#endif // __POWER_MGMT_H 